1. Field of the Invention
Embodiments of the present invention generally relate to virtual machine operation. More particularly, embodiments of the present invention relate to a method and apparatus for mapping virtual machine incremental images.
2. Description of the Related Art
When launching a virtual machine, the virtual machine software establishes at least one virtual volume that extends over one or more physical disks. The virtual volume is loaded with a virtual machine operating system such that the volume containing the operating system becomes a virtual machine. As the virtual machine operates, the information (i.e., data and applications) stored within the memory of the virtual volume is backed up periodically to memory. The memory used for the backup is generally remote from the computer supporting the virtual machine. In many instances, the backup memory is a serial device such as a tape drive.
Within the virtual volume, the initial set of applications and data are stored as a base image that reflects the starting point of the computing environment within the virtual volume. Subsequent changes to the virtual volume are stored in the base, differencing, or snapshot hard disk image. When a differencing or snapshot hard image is created, it is linked back to a previous base, differencing, or snapshot. This structure creates a linked list of virtual disk images. Each link in the list provide a point in time representation of the virtual hard drive. Modification to the virtual volume are always written to the last node in the list. This reflects the changes that occur in the data and applications and other attributes of the within the file system, as well as file additions and deletions.
Occasionally, the base image as well as the incremental images that form a set of images reflecting the content of the virtual volume at a specific point in time, are backed up to a virtual volume backup. When using a tape drive as the backup media, the backup set (the base image and its associated incremental images) is stored as a serial data stream upon the media.
If a particular file is to be restored to the virtual volume from either the back up or the images prior to backup, the restoration software must access the base image as well as all the incremental images reflected in the point in time that the restoration is to occur. As such, the entire file set (base and incrementals) that occurred prior to that point at which the restoration is to be accomplished must be restored to the virtual volume to find a complete file to be restored.
If the file is being restored from the backup media where the files are stored on the backup media sequentially, there is no ability for random access to those files. Thus, all the files in a set must be restored to be able to access the file of interest. More importantly, a given file may be spread across a base image as well as a plurality of incremental images such that the base image must be updated with the incremental images of that particular file to create the file as it existed at the time that the restoration is to be completed. Such a restoration process is time-consuming.
Therefore, there is a need in the art for a method and apparatus for mapping virtual machine incremental images.